const path = require('path');
const webpack = require('webpack');

module.exports = {
    entry: {
        idx: './src/idx.js',
        idx2: './src/idx2.js',
        // 三方库
        vendor: ['lodash']
    },
    output: {
        filename: '[name].[chunkHash].js',
        path: path.resolve(__dirname, './dist/'),
        chunkFilename: '[name].chunk.js'        
    },
    plugins: [
        /**
         *  new webpack.optimize.CommonsChunkPlugin({
                name: 'manifest', // 一个不存在的chunkname将把框架剥离出来（webpack自己生成代码），如果已知的chunkname就把库单独拿出来
                minChunks: Infinity // 只有框架自己的代码
            })
         */
         //new webpack.optimize.CommonsChunkPlugin({
         //   name: 'manifest',
         //   minChunks: Infinity // 希望打包出来的只要它自己没有别的
         //}),
        // 这么些会有报错ERROR in CommonsChunkPlugin: While running in normal mode it's not allowed to use a non-entry chunk (vendor)
        // 如何解决？
        new webpack.optimize.CommonsChunkPlugin({
            name: "common",
            minChunks: 2,
            chunks: ['idx','idx2'] // 注意不能包括vendor因为那个要单独拿出来，而我们要分析的业务。加上这句上面的错误解决。
        }),
 
        new webpack.optimize.CommonsChunkPlugin({
             name: "vendor",
             minChunks: Infinity // 希望打包出来的只要它自己没有别的
        }),

        new webpack.optimize.CommonsChunkPlugin({
	     name: 'manifest',
	     minChunks: Infinity // 希望打包出来的只要它自己没有别的
	}),

        //new webpack.optimize.CommonsChunkPlugin({
        //    name: "common", 
        //    minChunks: 2
        //}),

        //new webpack.optimize.CommonsChunkPlugin({
        //    name: 'manifest',
        //    minChunks: Infinity // 希望打包出来的只要它自己没有别的
        //}),
       
    ]
}
